import Vue from 'vue'
import axios from "axios";
import router from './router'

const http = axios.create({
  baseURL: process.env.VUE_APP_API_URL || '/admin/api' ,
  // baseURL: "http://localhost:3000/admin/api"
})

// 请求拦截器
http.interceptors.request.use(config => {
  if (localStorage.token) {
    config.headers.Authorization = 'Bearer ' +  localStorage.token
  }
  return config
}, err => {
  return Promise.reject(err);
})

// 响应拦截器
http.interceptors.response.use(res => {
  return res
}, err => { 
  if (err.response.data.message) {
    // 在 Vue 的原型上挂载 $message
    // $message 表示 element-ui 中的提示组件， 
    Vue.prototype.$message ({
      type: 'error',
      message: err.response.data.message
    })
    console.log(err.response);
    if (err.response.status === 401) {
      router.push('/login');
    }
  }
  return Promise.reject(err);
})

export default http

